package br.com.caelum.vraptor.dao;



import javax.persistence.NoResultException;

import br.com.caelum.vraptor.entidades.Estudante;

public class EstudanteDAO extends GenericJPADAO<Estudante> {

	public EstudanteDAO() {
		this.persistentClass = Estudante.class;
	}
	
	public Estudante findByName(String name){
		try{
		Estudante est = getEm().createQuery("select e from Estudante e where e.nome = :nome", Estudante.class)
				.setParameter("nome", name)
				.getSingleResult();
		return est;
		}
		catch(NoResultException e){
			e.printStackTrace();
			return null;
		}
	}
	/**
	 * Lembrar de testar se resulta null ou gera uma exception caso não encontre
	 * @param matricula
	 * @return
	 */
	public Estudante findByMatricula(String matricula){
		try{
		Estudante est = getEm().createQuery("select e from Estudante e where e.matricula = :matricula", Estudante.class)
		.setParameter("matricula", matricula)
		.getSingleResult();
		return est;
		}
		catch(NoResultException e){
			e.printStackTrace();
			return null;
		}
	}
	
}
